/**
 * @param {number[]} nums
 * @return {number}
 */
// 返回其中的一个峰值，要求ologn(相邻的元素不相等)
// 其实就是求区间极大值

// ologn 二分查找
var findPeakElement1 = function (nums) {
  let ans = 0
  for (let i = 1; i < nums.length; ++i) {
    if (nums[i] > nums[ans]) {
      ans = i
    }
  }
  return ans
}
// 更直观一点的二分查找(相邻不相等)
var findPeakElement2 = function (nums) {
  let l = 0, r = nums.length - 1
  while (l <= r - 1) {
    let mid = Math.floor((l + r) / 2)
    if (nums[mid] > nums[mid + 1]) {
      r = mid
    } else {
      l = mid + 1
    }
  }
  return l
}
console.log(findPeakElement2([1, 2, 3, 1]))